$(document).ready(function(){
    showButton('#content');

    $('#type').initDictSelect('请选择','');
    $('#level').initDictSelect('请选择','');
    load();


});

var table;
function load() {
    table = $('#exampleTable')
		.bootstrapTable(
			{
				method : 'POST', // 服务器数据的请求方式 get or post
				url : window.API_SERVER_URL + 'smm/supplier/list', // 服务器数据的加载地址
				iconSize : 'outline',
				toolbar : '#exampleToolbar',
				striped : true, // 设置为true会有隔行变色效果
				dataType : "json", // 服务器返回的数据类型
				pagination : true, // 设置为true会在底部显示分页条
				singleSelect : false, // 设置为true将禁止多选
				pageSize : 10, // 如果设置了分页，每页数据条数
				pageNumber : 1, // 如果设置了分布，首页页码
				showColumns : false, // 是否显示内容下拉框（选择显示的列）
				sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者
				queryParams : function(params) {
					var paramsJSON = {
						limit : params.limit,
						offset : params.offset,
						name : $('#searchName').val()
					};
					// console.log(paramsJSON);

					return JSON.stringify(paramsJSON);

				},
				// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
				// queryParamsType = 'limit' ,返回参数必须包含
				// limit, offset, search, sort, order 否则, 需要包含:
				// pageSize, pageNumber, searchText, sortName,
				// sortOrder.
				// 返回false将会终止请求
				columns : [
					{
						field : 'name',
						title : '名称'
					},
					{
						field : 'type',
						title : '类型',
                        formatter : function(value, row, index) {

                            return getDictNameFromLocalStorage('supplier_type',value,'-');
                        }
					},
					{
                    	field : 'level',
                        title : '级别',
                        formatter : function(value, row, index) {

                            return getDictNameFromLocalStorage('supplier_level',value,'-');
                        }
                    },
                    {
                        field : 'telephone',
                        title : '电话'
                    },
                    {
                        field : 'contacts',
                        title : '联系人'
                    },
                    {
                        field : 'contactsMobile',
                        title : '联系人手机'
                    },
					{
						title : '操作',
						field : 'id',
						align : 'center',
						formatter : function(value, row, index) {
							 var e = '<a  class="btn warning btn-sm ' + s_edit_h + '" href="javascript:void(0);" title="编辑" onclick="edit(\''
								+ row.id
								+ '\')"><img src= "'+SERVER_URL+'static/img/edit.png"></a> ';

								 var permissionsArr = JSON.parse(localStorage.getItem("permissions"));
							 if(permissionsArr.indexOf('smm:supplier:edit') == -1){
						    	e = '';
							 }

                            e += '<a permission="smm:supplier:contacts" show-contacts="false" class="btn warning btn-sm ' + s_edit_h + '" style="display:none;" href="javascript:void(0);" title="联系人" onclick="toggleContacts(\''
                                + index
                                + '\')"><img src= "'+SERVER_URL+'static/img/edit.png"></a> ';
							 return e;
						}
					} ],
                detailView:true,
                detailFormatter: function (index, row) {
				    var div = $('#contactsSampleDiv').clone();
				    var table = $(div).find('table:first');
				    var supplierContactDOList = row.supplierContactDOList;
				    if(supplierContactDOList){
				        $.each(supplierContactDOList,function (index,contactDO) {
                            var tr = $('#contactsSampleTable').find('tr:first').clone();
                            var tds = $(tr).find('td');
                            $(tds[0]).text(contactDO.name);
                            $(tds[1]).text(contactDO.mobile);
                            $(tds[2]).text(contactDO.email);
                            $(tds[3]).text(getDictNameFromLocalStorage('yes_no',contactDO.mainFlag,'-'));

                            $(table).append(tr);
                        });
                    }
                    return $(div).html();
                },
                onPostBody:function () {
                    var trs = $('#exampleTable').find('tbody').find('tr');
                    $.each(trs,function (index,tr) {
						$(tr).find('td:eq(0)').hide();
                    });

                    //渲染完成后校验权限
                    validateDomsPermission('#exampleTable');
                },
                onPostHeader:function () {
					$('#exampleTable').find('thead').find('th[class=detail]:eq(0)').hide();
                }
			});
}
function reLoad() {
	$('#exampleTable').bootstrapTable('refresh');
}

function toggleContacts(index) {
	var show = $('[show-contacts]:eq('+index+')').attr('show-contacts');
	if(show=='false'){
        table.bootstrapTable('expandRow', index);
        $('[show-contacts]:eq('+index+')').attr('show-contacts','true');
	}else{
        table.bootstrapTable('collapseRow', index);
        $('[show-contacts]:eq('+index+')').attr('show-contacts','false');
	}

}

/**
 * 添加供应商弹窗
 */
function add() {
	layer.open({
		type : 2,
		title : '增加供应商',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '80%', '90%' ],
		content : "../../../templates/smm/supplier/add.html",
		success: function(layero, index){
             var body = layer.getChildFrame('body',index);//建立父子联系

         }
	});
}

function edit(id) {
	 var _this = $(this),
        data =_this.parent().siblings(),
        arr = id;
	layer.open({
		type : 2,
		title : '项目修改',
		maxmin : true,
		shadeClose : false,
		area : [ '100%', '100%' ],
			content : '../../../templates/smm/supplier/edit.html',
			success: function(layero, index){
                var iframeWin = window[layero.find('iframe')[0]['name']];
                iframeWin.loadData(id);
                return;
	             $.ajax({
            			type : 'get',
            			url : ip + 'smm/project/getprojectdobyid/'+id,
            			success : function(r) {
            			alert(JSON.stringify(r));
//            			alert(r.userProjectDTOList[0]);
            				parentId = r.parentId;
            				name = r.name;
            				orderNum = r.orderNum;
            				delFlag = r.delFlag;
            				var body = layer.getChildFrame('body',index);//建立父子联系
                            var iframeWin = window[layero.find('iframe')[0]['name']];
							$(body).find('input[id=projectCode]').val(r.projectCode);
							$(body).find('input[id=name]').val(r.name);
							$(body).find('input[id=projectShortName]').val(r.projectShortName);
							$(body).find('input[id=contractCode]').val(r.contractCode);
							$(body).find('input[id=contractName]').val(r.contractName);
							$(body).find('input[id=contractMoney]').val(r.contractMoney);
							$(body).find('input[id=areaName]').val(r.areaName);
							$(body).find('input[id=pmName]').val(r.pmName);
							var userProList=new Array();
							userProList=r.userProjectDTOList;
							var userNames="";
							for(var i in userProList){
							    userNames+=userProList[i].userName+",";
							}
							userNames=userNames.substring(0,userNames.length-1);
							$(body).find('input[id=userName]').val(userNames);
							$(body).find('input[id=startTime]').val(r.startTime);
                            $(body).find('input[id=endTime]').val(r.endTime);
                            $(body).find('input[id=staffWorkload]').val(r.staffWorkload);
                            $(body).find('input[id=serviceDays]').val(r.serviceDays);
                            $(body).find('input[id=serviceHours]').val(r.serviceHours);
                            $(body).find('input[id=projectCost]').val(r.projectCost);
                            $(body).find('input[id=client]').val(r.client);
                            $(body).find('input[id=customerName]').val(r.customerName);
                            $(body).find('input[id=proCategoryId]').val(r.proCategoryId);
							$(body).find('input[name="status"][value="'+r.status+'"]').attr("checked",'checked');
							if(r.userAreaList){
								var areaIds = '';
								var areaNames = '';
								$.each(r.userAreaList,function (i,userArea) {
									if(i>0){
                                        areaIds += ',';
                                        areaNames += ',';
									}
                                    areaIds += userArea.areaId;
                                    areaNames += userArea.areaName;
                                });

                                $(body).find('input[id=areaIds]').val(areaIds);
                                $(body).find('input[id=areaNames]').val(areaNames);
							}
//                            iframeWin.initForm();
            			}
            		});
                 }

	});
}
